#/bin/bash

NAME=qzk;
USERID=`id -u $NAME`
if [ $USERID -eq 0 ] 
then
	echo "this is root"
else
	echo "this is common user"
fi

# 写一个脚本
# 判断当前系统上是否有用户默认shell为bash;
# 如果有，就显示有多少个这类用户；否则，就显示没有这类用户

grep "\<bash$" /etc/passwd &> /dev/null
if [ $? -eq 0 ] ; then
	echo "have `grep "bash$" /etc/passwd | wc -l` class uer" 
else
	echo "no have this class"
fi
# 写一个脚本
# 判定命令历史中历史命令的总条目是否大于1000；
# 如果大于，则显示“Some command will gone.”；否则显示“OK”.

if [ `history | wc -l` -gt 1000 ] ; then
       echo "Some command will gone."	
else
	echo "OK"
fi
echo "
练习：写一个脚本
	给定一个文件：
	如果是一个普通文件，就显示之：
	如果是一个目录，亦显示之；
	否则，此为无法识别之文件；"
FILE=/dev/null
if [ -e $FILE ]; then
	if [ -f $FILE ]; then
		echo "Common file."
	elif [ -d $FILE ]; then
		echo "Directory."
	else
		echo "Unknown."
	fi
else
	echo "No such file."
	exit 8;
fi
echo "
练习：写一脚本
能接受一个参数（文件路径）
判定：此参数如果是一个存在的文件，就显示“OK”；否则就显示“No such file.”"
FILE=$1
if [ -e $FILE ]; then
	echo "OK"
else
	echo "No such file."
fi
echo "
练习：写一个脚本
给脚本传递两个参数（整数）；
显示此两者之和，之乘积；
答案："
if [ ! $# -eq 2 ]; then
	echo "Usage: test.sh ARG1 ARG2"
#	exit 7
fi
FIRSTNUM=$1;
SECONDNUM=$2;
SUM=$[$1+$2]
JI=$[$1*$2]
echo "sum is $SUM"
echo "prod is $JI"
echo "
练习：
传递一个用户名参数给脚本，判断此用户的用户名跟其基本组的组名是否一致，并将结果显示出来。
答案："

if [ `id -nu $1` == `id -ng $1` ]
then
	echo "same"
else
	echo "different"
fi


sed -n "/^$1\>/p" /etc/passwd | cut -d: -f5

echo "
练习：写一个脚本
传递一个参数（单字符就行）给脚本，如参数为q，就退出脚本；否则，就显示用户的参数；
答案："

#if [ $1 == "q" ]; then
#	exit 8;
#else
#	echo $1;
#fi
echo "
练习：写一个脚本
传递一个参数（单字符就行）给脚本，如参数为q，Q，quit或Quit,就退出脚本；否则，就显示用户的参数；
答案："

if [ $1 == "q" ]
then
	exit 80;
elif [ $1 == "Q" ]
then
	exit 81;
elif [ $1 == "quit" ]
then
	exit 82;
elif [ $1 == "Quit" ]
then	
	exit 83;
else
	echo $1
fi
echo "
练习：
传递三个参数给脚本，第一个为整数，第二个为算术运算符，第三个为整数，将计算结果显示出来，要求保留两位精度。形如：
./calc.sh 5 / 2
答案："
echo "scale=2;$1$2$3" | bc

echo "
写一个脚本：
给脚本传递三个整数，判断其中的最大数和最小数，并显示出来。
答案："

if [ $1 -ge $2 ]
then
	if [ $1 -ge $3 ]
	then
		MAX=$1;
		if [ $2 -ge $3 ]
		then
			MIN=$3
		else
			MIN=$2
		fi
		
	else
		MAX=$3
		if [ $1 -ge $2]; then
			MIN=$2
		else
			MIN=$1
		fi
	fi
else
	echo "2<4"
	if [ $2 -ge $3 ]; then
		echo "4>1"
		MAX=$2
		if [ $3 -ge $1 ]; then
			MIN=$1
		else
			MIN=$3
		fi
	else
		MAX=$3
		if [ $2 -ge $1 ]; then
			MIN=$1
		else
			MIN=$2
		fi
	fi
fi

echo "MAX:$MAX"
echo "MIN:$MIN"

echo "求1到100的和"
let SUM_0_100=0;
for I in `seq 1 100`; do
	let SUM_0_100=$[$SUM_0_100+$I]
done
echo "SUM_0_100:$SUM_0_100"


echo "写一个脚本：
1.添加10个用户user1到user10，密码同用户名；但要求只有在用户不存在的情况下才能添加；
答案："


for USER_I in {1..10}
do
	USERNAME=user$USER_I;
	if id $USERNAME &> /dev/null 
	then
		echo "$USERNAME have exited!"
	else
		useradd $USERNAME
		echo $USERNAME:$USERNAME | chpasswd
		echo "add $USERNAME success!"
	fi
done









